*{
  box-sizing: border-box;
}
body{
  height:100%;
  //background-color: #999;
}
h1{
  font-size:1em;
  text-align:center;
  color: red;
  letter-spacing:1px;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
}
.nav-container{
  width:300px;
  margin-top:10px;
  box-shadow: 0 2px 2px 2px black;
  transition: all 0.3s linear;
}
.nav{
  list-style-type:none;
  margin:0;
  padding:0;
}
li{
  height:50px; 
  position:relative;
  background: linear-gradient(#292929, #242424);
}
a {
  border-top: 1px solid rgba(255,255,255,0.1);
  border-bottom: 1px solid black;
  text-decoration:none;
  display:block;
  height:100%;
  width:100%;
  line-height:50px;
  color:#bbb;
  text-transform: uppercase;
  font-weight: bold;
  padding-left:25%;
  border-left:5px solid transparent;
  letter-spacing:1px;
  transition: all 0.3s linear;
}
.active a{
  color: #B93632;
  border-left:5px solid #B93632;
  background-color: #1B1B1B;
  outline:0;
}
li:not(.active):hover a{
  color: #eee;
  border-left: 5px solid #FCFCFC;
  background-color: #1B1B1B;
}
span[class ^= "icon"]{
  position:absolute;
  left:20px;
  font-size: 1.5em;
  transition: all 0.3s linear;
}

@media only screen and (max-width : 860px){
  
  .text{
    display:none;
  }
  
  .nav-container , a{
    width: 70px;
    
  }
   
  a:hover{
    width:200px; 
    z-index:1;
    border-top: 1px solid rgba(255,255,255,0.1);
    border-bottom: 1px solid black;
    box-shadow: 0 0 1px 1px black;
  }
  
  a:hover  .text {
    display:block;
    padding-left:30%;
  }
}
@media only screen and (max-width : 480px){
  .nav-container, a{ width:50px;}
  span[class ^= "icon"]{ left:8px;}
}

div.floating-menu {position:fixed;background:#fff4c8;border:1px solid #ffcc00;left:auto;width:150px;right:10px;}
div.floating-menu a, div.floating-menu h4 {display:block;margin:0 0.5em;}
